package main

import (
	"fmt"
	cpumassager "gitee.com/taotao_today/cpu-massager"
	"time"
)

func main() {
	// 启动马杀鸡计划
	cpuCollect, err := cpumassager.NewSysCPUsageCollector(time.Second)
	err = cpumassager.StartMassagePlan(cpumassager.WithCPUSageCollector(cpuCollect))
	if err != nil {
		fmt.Println("StartMassagePlan failed, err: ", err)
	}

	//  进入服务程序正常处理流程
	for {
		// 每次收到请求都调用一下，若返回false，继续做后续处理，否则直接返回
		if cpumassager.NeedMassage() {
			// 拒绝服务该请求，做一些简单的处理，例如设定回包的错误码，上报过载告警等
			fmt.Println("refuse")
			return //  然后直接返回
		}
		//  正常处理该请求
		time.Sleep(time.Second)
	}

}
